import Vue from 'vue'
import Router from 'vue-router'

Vue.use(Router)

/* Layout */
import Layout from '@/layout'

/**
 * Note: 路由配置项
 *
 * hidden: true                   // 当设置 true 的时候该路由不会再侧边栏出现 如401，login等页面，或者如一些编辑页面/edit/1
 * alwaysShow: true               // 当你一个路由下面的 children 声明的路由大于1个时，自动会变成嵌套的模式--如组件页面
 *                                // 只有一个时，会将那个子路由当做根路由显示在侧边栏--如引导页面
 *                                // 若你想不管路由下面的 children 声明的个数都显示你的根路由
 *                                // 你可以设置 alwaysShow: true，这样它就会忽略之前定义的规则，一直显示根路由
 * redirect: noRedirect           // 当设置 noRedirect 的时候该路由在面包屑导航中不可被点击
 * name:'router-name'             // 设定路由的名字，一定要填写不然使用<keep-alive>时会出现各种问题
 * meta : {
    noCache: true                // 如果设置为true，则不会被 <keep-alive> 缓存(默认 false)
    title: 'title'               // 设置该路由在侧边栏和面包屑中展示的名字
    icon: 'svg-name'             // 设置该路由的图标，对应路径src/assets/icons/svg
    breadcrumb: false            // 如果设置为false，则不会在breadcrumb面包屑中显示
    activeMenu: '/system/user'   // 当路由设置了该属性，则会高亮相对应的侧边栏。
  }
 */

// 公共路由
export const constantRoutes = [{
        path: '/redirect',
        component: Layout,
        hidden: true,
        children: [{
            path: '/redirect/:path(.*)',
            component: (resolve) => require(['@/views/redirect'], resolve)
        }]
    },
    {
        path: '/login',
        component: (resolve) => require(['@/views/login'], resolve),
        hidden: true
    },
    {
        path: '/register',
        component: (resolve) => require(['@/views/register'], resolve),
        hidden: true
    },
    {
        path: '/404',
        component: (resolve) => require(['@/views/error/404'], resolve),
        hidden: true
    },
    {
        path: '/user404',
        component: (resolve) => require(['@/views/error/user404'], resolve),
        hidden: true
    },
    {
        path: '/401',
        component: (resolve) => require(['@/views/error/401'], resolve),
        hidden: true
    },
    {
        path: '',
        component: Layout,
        redirect: 'index',
        children: [{
            path: 'index',
            component: (resolve) => require(['@/views/index-info'], resolve),
            name: 'Index',
            meta: {
                title: '首页',
                icon: 'dashboard',
                affix: true
            }
        }]
    },
    {
        path: '/base',
        component: Layout,
        hidden: true,
        children: [{
                path: 'addindex',
                component: (resolve) => require(['@/views/base/userGroup/addindex'], resolve),
                name: 'addindex',
                meta: {
                    title: '用户组管理'
                }
            },
            {
                path: 'Bindproject',
                component: (resolve) => require(['@/views/base/userGroup/Bindproject'], resolve),
                name: 'Bindproject',
                meta: {
                    title: '绑定项目'
                }
            },
            {
                path: 'help',
                component: (resolve) => require(['@/views/base/help/index'], resolve),
                name: 'help',
                meta: {
                    title: '帮助中心'
                }
            },
            {
                path: 'straightSeeMoney/:id',
                component: (resolve) => require(['@/views/base/member/straightSeeMoney'], resolve),
                name: 'straightSeeMoney',
                meta: {
                    title: '查看金额列表'
                }
            },
            {
                path: 'Commission',
                component: (resolve) => require(['@/views/projectManagement/projectlist/Commission'], resolve),
                name: 'Commission',
                meta: {
                    title: '佣金模板'
                }
            },
            {
                path: 'TemplateDetails',
                component: (resolve) => require(['@/views/projectManagement/projectlist/TemplateDetails'], resolve),
                name: 'TemplateDetails',
                meta: {
                    title: '模板详情'
                }
            },
        ]
    },

    {
        path: '/projectManagement',
        component: Layout,
        hidden: true,
        children: [{
                path: 'editindex',
                component: (resolve) => require(['@/views/projectManagement/projectlist/editindex'], resolve),
                name: 'editindex',
                meta: {
                    title: '编辑'
                }
            },
            {
                path: 'jurisdiction',
                component: (resolve) => require(['@/views/projectManagement/projectlist/jurisdiction'], resolve),
                name: 'jurisdiction',
                meta: {
                    title: '权限'
                }
            },
            {
                path: 'getAward',
                component: (resolve) => require(['@/views/projectManagement/projectlist/getAward'], resolve),
                name: 'getAward',
                meta: {
                    title: '查看奖励'
                }
            },
            {
                path: 'ConfigurationAward',
                component: (resolve) => require(['@/views/projectManagement/projectlist/ConfigurationAward'], resolve),
                name: 'ConfigurationAward',
                meta: {
                    title: '奖励模板'
                }
            },
            {
                path: 'SettlementAward',
                component: (resolve) => require(['@/views/projectManagement/projectlist/SettlementAward'], resolve),
                name: 'SettlementAward',
                meta: {
                    title: '结算奖励'
                }
            },
            {
                path: 'RewardInformation',
                component: (resolve) => require(['@/views/projectManagement/projectlist/RewardInformation'], resolve),
                name: 'RewardInformation',
                meta: {
                    title: '奖励信息'
                }
            },

            {
                path: 'userIdentification',
                component: (resolve) => require(['@/views/projectManagement/projectlist/userIdentification'], resolve),
                name: 'userIdentification',
                meta: {
                    title: '用户识别码'
                }
            },

            {
                path: 'tenantData',
                component: (resolve) => require(['@/views/projectManagement/projectlist/tenantData'], resolve),
                name: 'tenantData',
                meta: {
                    title: '数据'
                }
            },
            {
                path: 'CodeSetting',
                component: (resolve) => require(['@/views/projectManagement/projectlist/CodeSetting'], resolve),
                name: 'CodeSetting',
                meta: {
                    title: '数据操作设置'
                }
            },
            {
                path: 'dataDrag',
                component: (resolve) => require(['@/views/projectManagement/projectlist/dataDrag'], resolve),
                name: 'dataDrag',
                meta: {
                    title: '样式操作设置'
                }
            },
            {
                path: 'tenantIdentification',
                component: (resolve) => require(['@/views/projectManagement/projectlist/tenantIdentification'], resolve),
                name: 'tenantIdentification',
                meta: {
                    title: '上传数据'
                }
            },
            {
                path: 'BillingDetails',
                component: (resolve) => require(['@/views/projectManagement/projectlist/BillingDetails'], resolve),
                name: 'BillingDetails',
                meta: {
                    title: '结算'
                }
            },
            {
                path: 'settlementSetup',
                component: (resolve) => require(['@/views/projectManagement/projectlist/settlementSetup'], resolve),
                name: 'settlementSetup',
                meta: {
                    title: '结算设置'
                }
            },
            {
                path: 'settlementMoney',
                component: (resolve) => require(['@/views/projectManagement/settlementMoney'], resolve),
                name: 'settlementMoney',
                meta: {
                    title: '结算金额'
                }
            },
        ]
    },

    {
        path: '/finance',
        component: Layout,
        hidden: true,
        children: [{
                path: 'details',
                component: (resolve) => require(['@/views/finance/transfers/details'], resolve),
                name: 'details',
                meta: {
                    title: '打款详情'
                }
            },
            {
                path: 'manageIndex',
                component: (resolve) => require(['@/views/finance/userManage/manageIndex'], resolve),
                name: 'manageIndex',
                meta: {
                    title: '打款记录'
                }
                // 支付宝记账本的
            },
            {
                path: 'bankmanageIndex',
                component: (resolve) => require(['@/views/finance/userManage/bankmanageIndex'], resolve),
                name: 'bankmanageIndex',
                meta: {
                    title: '打款记录'
                }
                // 银联和支付宝的
            },
        ]
    },

    {
        path: '/user',
        component: Layout,
        hidden: true,
        redirect: 'noredirect',
        children: [{
            path: 'profile',
            component: (resolve) => require(['@/views/system/user/profile/index'], resolve),
            name: 'Profile',
            meta: {
                title: '个人中心',
                icon: 'user'
            }
        }]
    },
    {
        path: '/system/user-auth',
        component: Layout,
        hidden: true,
        children: [{
            path: 'role/:userId(\\d+)',
            component: (resolve) => require(['@/views/system/user/authRole'], resolve),
            name: 'AuthRole',
            meta: {
                title: '分配角色',
                activeMenu: '/system/user'
            }
        }]
    },

    {
        path: '/system/role-auth',
        component: Layout,
        hidden: true,
        children: [{
            path: 'user/:roleId(\\d+)',
            component: (resolve) => require(['@/views/system/role/authUser'], resolve),
            name: 'AuthUser',
            meta: {
                title: '分配用户',
                activeMenu: '/system/role'
            }
        }]
    },

    {
        path: '/system',
        component: Layout,
        hidden: true,
        children: [{
            path: 'tenant/addShortLetter',
            component: (resolve) => require(['@/views/system/tenant/addShortLetter'], resolve),
            name: 'AddShortLetter',
            meta: {
                title: '短信模板'
            }
        }, ]
    },

    {
        path: '/system/dict-data',
        component: Layout,
        hidden: true,
        children: [{
            path: 'index/:dictId(\\d+)',
            component: (resolve) => require(['@/views/system/dict/data'], resolve),
            name: 'Data',
            meta: {
                title: '字典数据',
                activeMenu: '/system/dict'
            }
        }]
    },
    {
        path: '/monitor/job-log',
        component: Layout,
        hidden: true,
        children: [{
            path: 'index',
            component: (resolve) => require(['@/views/monitor/job/log'], resolve),
            name: 'JobLog',
            meta: {
                title: '调度日志',
                activeMenu: '/monitor/job'
            }
        }]
    },
    {
        path: '/tool/gen-edit',
        component: Layout,
        hidden: true,
        children: [{
            path: 'index/:tableId(\\d+)',
            component: (resolve) => require(['@/views/tool/gen/editTable'], resolve),
            name: 'GenEdit',
            meta: {
                title: '修改生成配置',
                activeMenu: '/tool/gen'
            }
        }]
    },


    {
        path: "/system",
        component: Layout,
        hidden: true,
        children: [{
            path: "/system/decorate/set",
            name: "decorateSet",
            component: (resolve) => require(['@/pages/decorate/set/Index'], resolve),
            meta: { title: '自定义页面' }
            // meta: { title: '装修设置', activeMenu: '/system/decorate/set' }
        }]
    },

    //  {
    //   path: "/decorateSet",
    //   name: "decorateSet",
    //   hidden: true,
    //   component: (resolve) => require(['@/pages/decorate/set/Index'], resolve),
    //   meta: {title: '装修设置',activeMenu: '/system/decorate/set'}
    // },
    {
        path: "/setBottomMenu",
        name: "setBottomMenu",
        component: (resolve) => require(['@/pages/decorate/bottomMenu/Index'], resolve),
    }, {
        path: "/setStartAds",
        name: "setStartAds",
        hidden: true,
        component: (resolve) => require(['@/pages/decorate/startAds/Index'], resolve),
    }, {
        path: "/setLogin",
        name: "setLogin",
        hidden: true,
        component: (resolve) => require(['@/pages/decorate/setLogin/Index'], resolve),
    }, {
        path: "/setForm",
        name: "setForm",
        hidden: true,
        component: (resolve) => require(['@/pages/decorate/setForm/Index'], resolve),
    }, {
        path: "/decorate",
        name: "decorate",
        hidden: true,
        component: (resolve) => require(['@/pages/decorate/Index'], resolve),
    }
    // , {
    //   path: "/decorateSet",
    //   name: "decorateSet",
    //   hidden: true,
    //   component: (resolve) => require(['@/pages/decorate/set/Index'], resolve),
    // }
]


// router.beforeEach((to, from, next) => {



//   if(to.meta.title){
//   document.title = to.meta.title
//   }
// });


export default new Router({
    mode: 'history', // 去掉url中的#
    scrollBehavior: () => ({
        y: 0
    }),
    routes: constantRoutes
})